package com.xxgc.eow.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 融资类型表
 * </p>
 *
 * @author Mr.Abel
 * @since 2023-05-21
 */
@Getter
@Setter
@Schema(name = "Financing", description = "融资类型表")
public class Financing implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "企业融资类型id")
    @TableId(value = "financing_id", type = IdType.AUTO)
    private Integer financingId;

    @NotNull
    @Schema(description = "企业融资类型名")
    private String financingName;

    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @Schema(description = "销毁时间")
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime destroyTime;

    @Schema(description = "假删除状态")
    private Integer tip;

    public Integer getFinancingId() {
        return financingId;
    }

    public void setFinancingId(Integer financingId) {
        this.financingId = financingId;
    }

    public String getFinancingName() {
        return financingName;
    }

    public void setFinancingName(String financingName) {
        this.financingName = financingName;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getDestroyTime() {
        return destroyTime;
    }

    public void setDestroyTime(LocalDateTime destroyTime) {
        this.destroyTime = destroyTime;
    }

    public Integer getTip() {
        return tip;
    }

    public void setTip(Integer tip) {
        this.tip = tip;
    }

    public Financing(String financingName, LocalDateTime createTime, LocalDateTime destroyTime, Integer tip) {
        this.financingName = financingName;
        this.createTime = createTime;
        this.destroyTime = destroyTime;
        this.tip = tip;
    }

    public Financing(Integer financingId, String financingName, LocalDateTime createTime, LocalDateTime destroyTime, Integer tip) {
        this.financingId = financingId;
        this.financingName = financingName;
        this.createTime = createTime;
        this.destroyTime = destroyTime;
        this.tip = tip;
    }

    public Financing() {
    }

    @Override
    public String toString() {
        return "Financing{" +
                "financingId=" + financingId +
                ", financingName='" + financingName + '\'' +
                ", createTime=" + createTime +
                ", destroyTime=" + destroyTime +
                ", tip=" + tip +
                '}';
    }
}
